package com.lanchetech.admin.service;

import com.lanchetech.bean.request.*;
import com.lanchetech.bean.response.*;
import com.lanchetech.bean.vo.*;
import com.lanchetech.entity.*;

import java.util.List;

public interface MarketingService {
    ResultData<BasePageResp<KillActivityResp>> getKillActivityPage(PageReq req);

    BaseResp editKillActivity(KillActivityEditVO req);

    ResultData<KillActivityEditResp> getKillActivityDetail(Long id);

    ResultData<BasePageResp<CoinRewardResp>> getCoinRewardPage(PageReq req);

    BaseResp editCoinReward(List<CoinReward> req);

    BaseResp deleteCoinReward(Long id);

    ResultData<BasePageResp<CoinDeductionResp>> getCoinDeductionPage(PageReq req);

    BaseResp editCoinDeduction(List<CoinDeduction> req);

    BaseResp editCoinSetting(CoinSetting coinSetting);

    BaseResp deleteCoinSetting(Long id);

    ResultData<BasePageResp<CoinSetting>> getCoinSettingPage(BasePageReq req);

    BaseResp deleteCoinDeduction(Long id);

    ResultData<BasePageResp<FlashSaleActivity>> getFlashSalePage(PageReq req);

    ResultData<FlashSaleEditResp> getFlashSaleDetail(Long id);

    ResultData<BasePageResp<SubscribeRecordVO>> getSubscribeRecordPage(SubscribeRecordPageReq req);

    BaseResp editFlashSale(FlashSaleEditVO req);

    BaseResp deleteFlashSale(Long id);

    BaseResp editPackage(PackageVO req);

    ResultData<PackageResp> getPackageDetail(Long id);

    ResultData<BasePageResp<Packages>> getPackagePage(PageReq req);

    BaseResp deletePackage(Long id);

    BaseResp editCoupon(Coupon coupon);

    ResultData<CouponVO> getCouponDetail(Long id);

    ResultData<BasePageResp<Coupon>> getCouponPage(PageReq req);

    BaseResp deleteCoupon(Long id);

    ResultData<BasePageResp<UserVoucherVO>> getUserVoucherPage(UserVoucherReq req);

    ResultData<BasePageResp<LotteryOpportunityVO>> getLotteryOpportunityPage(LotteryOpportunityPageReq req);
}